1. Field of the Invention
The present invention relates to a printer apparatus and a control method therefor in which data received from, for example, a host computer, is analyzed so that an output process is performed.
2. Related Background Art
In a conventional printer apparatus characters, graphics and/or images are formed in accordance with a command issued from a host computer so as to output a document or to control the printer apparatus, such as printer initialization.
Another conventional printer apparatus has a function for responding to a host computer through a bidirectional interface in accordance with a command transmitted from a host computer. The response provides information indicating the state of the printer apparatus, the set environment of the printer apparatus, the progress of the document output and font to be used.
The foregoing function for transmitting various information items about the printer apparatus to the host computer is called, for example, a xe2x80x9cstatus responsexe2x80x9d.
A variety of bidirectional interfaces have been used in the status response, as exemplified by a known RS-232C, Bi-Centronics, Ethernet and the like developed recently.
In recent printer apparatuses, any of the foregoing bidirectional interfaces have been employed as a standard interface in place of the conventional mono-directional interface.
It is considered that a printer system performing the status response by means of the foregoing bidirectional interface will be widely used.
Use of the status response function will enable the host computer to recognize the state of the connected printer.
For example, a status response indicating whether or not the printer apparatus is able to print out data at present, or information supply indicating occurrence of a problem, such as wanting of paper or paper jamming, will eliminate a necessity for a user to go to the position at which the printer apparatus is located, to confirm the state of the printer apparatus, even if the printer apparatus is located remotely from the host computer.
If information about fonts which can be used with the printer apparatus, about type of graphics which can be formed, and about the printer languages which can be executed, is status-responded, the information serves as instructions to use a proper font and to form an image by using a printer language when document data to be output is processed.
With the conventional monodirectional-interface printer apparatus, the host computer cannot recognize whether or not the printer apparatus has correctly formed an image and whether or not the printing operation is stopped due to a problem after the host computer has transmitted data to the printer apparatus. When data is processed, the host computer must process image data to be formed on an assumption of the fonts and image-forming functions of the printer apparatus. Therefore, it is considered that a system, using both a bidirectional interface and the status response function and causing the host computer to acquire information of the printer apparatus to perform administration, will be usually used.
In a case where the status response is performed by using the bidirectional interface, a command for the status response is issued from the host computer to the printer apparatus.
The printer apparatus analyzes the language in the command to recognize that the command orders a status response, followed by examining information about the subject printer apparatus. Obtained information is described in a format of data to be transferred, and the information is transmitted to the host computer.
The host computer receives the information, and analyzes data so as to recognize the state of the printer apparatus.
As described above, the interface between the host computer and the printer apparatus is established in two directions, one of which runs from the host computer to the printer apparatus, and another of which runs from the printer apparatus to the host computer.
The foregoing two-directional data communication is performed by a method determined depending upon the method of the bidirectional communication. For example, a method is employed in which transmission and receipt are performed at individual timings, or a method is employed in which either of the transmission or the receipt can be performed at a time, and switching is performed between transmission and reception as the need arises.
In the printer apparatus, a major portion of the data communication is shared by transmission of data from the host computer to the printer apparatus.
Therefore, greater importance is placed on data transference from the host computer to the printer apparatus than transference from the printer apparatus to the host computer, and the data flow is intended to be performed efficiently by adjusting the algorithm of the interface and the hardware.
As a result, transmission and reception are not always performed at the same timing. For example, in a case where output data including a status response has been transmitted, the structure, in which the output process is given priority, sometimes inhibits return of the status response until the output data is processed to a certain extent. To perform the response, receipt of the output data must be temporarily stopped, or a portion of the performance of the CPU must be used to perform the response operation. As a result, an efficient printing process cannot be performed.
The transmitting and receiving portion of the host computer has a similar problem.
Generally, the process for the host computer to receive a response from the printer apparatus has lower priority than that given to the process for transmitting output data. Also the transference rate of the operation of receiving data from the printer is usually lower than that of the operation of transmitting data to the printer.
As described above, the usual printer apparatuses focus on data transfer from the host computer to the printer apparatus, and the response is given low priority. Therefore, even if a command for the status response is issued, its response is not always returned immediately.
To prevent delay due to the difference in the processing speed and processing timing among the host computer, the interface for transmitting/receiving data and the printer apparatus, a data buffer is generally disposed at each contact.
For example, a data buffer, called a xe2x80x9creceiving bufferxe2x80x9d is provided to adjust data transference from the host computer to the printer apparatus through the interface, the receiving buffer being disposed at the inlet port of the printer apparatus. Data transmitted through the interface is temporarily stored in the foregoing buffer. Since the foregoing storage process is performed in synchronization with the processing speed and the processing timing for the interface, load on the interface can be reduced, and thus the process can be performed under the most proper condition for the interface.
Also the printer apparatus is able to receive data from the receiving buffer at the processing speed and processing timing thereof. Thus, the printer apparatus is able to perform the process thereof under the most proper condition.
However, the temporal storage of data inhibits immediately processing of data transmitted from the host computer, but causes a somewhat long time to take place before start of the process.
Even if the host computer issues a command for the status response, command data is temporarily stored in the receiving buffer or the like, and then the printer apparatus sequentially reads the buffers. When the printer apparatus receives the command data, the process is started.
Therefore, the presence of a buffer of the foregoing type in a data conveyance passage will cause a certain time to be taken from the issue of the command for the status response to the receipt of the response.
A status response process to be performed in the printer apparatus will now be described.
It sometimes takes a long time to take information of a response depending upon the contents of the response. An assumption is made that a command for the status response is issued to take information of all characters of included fonts by searching the all characters. The foregoing process sometimes takes several seconds though the period depends upon the state of the included fonts.
An assumption is made that a command for the status response has been issued with which if the state of the printer apparatus is changed, then the change is communicated to the host computer.
For example, a command for the status response is, during a document output, issued with which if all pages have been completely output, then the output must be communicated to the host computer.
In the foregoing case, a time difference of tens of seconds to several minutes sometimes takes place from issue of the command for the status response to completion of discharge of all pages and return of the response.
Since the transmission of output data from the host computer cannot be stopped even if the response is not returned, the timing of the command for the status response and that of the status response are completely shifted.
As described above, the status response is not always returned immediately after the host computer has issued the command for the status response.
The status response is sometimes returned immediately, while the same is returned after several seconds to several minutes or longer. Therefore, the host computer must wait for the return, followed by analyzing the contents of the return to recognize the state of the printer.
In a case of the conventional printer apparatus which does not use the status response frequently, a somewhat time delay can be allowed in the printing system.
However, information interchange to and from the printer apparatus using the status response will be performed frequently and widely used.
The shift of the timing between the transmission and the response causes a critical problem to arise. An assumption is made that a printer system is present in which a printer apparatus is required to transmit a variety of status responses. FIG. 7 is a zigzag chart showing exchange of messages between the host computer and the printer of a system of the foregoing type. A portion of statuses takes a long time to check corresponding information or a portion of the same is not returned if a certain state of the printer is not changed, depending upon the type of the statuses.
Referring to FIG. 7, an assumption is made here that the host computer issues, in document output data, the following three commands for status response to the printer in the sequential order below: (1) xe2x80x9cnotify discharge of the page, which is being printedxe2x80x9d, (2) xe2x80x9csend information about the number of fonts among the fonts included in the printer apparatus that are larger than 12 pointsxe2x80x9d, and (3) send information whether or not the printer apparatus is able to receive data at present.
The printer apparatus sequentially analyzes the supplied commands to perform corresponding status responses, output of the document and control of the printer apparatus.
Although the status response with respect to the command (1) is intended to be performed in the foregoing sequential order, the response cannot be performed immediately because the page is being printed out.
As a result, performing of the foregoing response is caused to wait for the completion of the page discharge. Since the processing efficiency is unsatisfactory if all processes are stopped in the foregoing waiting state, the operation proceeds to a next command process.
In order to return the status response with respect to the command (2), fonts in a large data volume included in the printer apparatus must be retrieved to search the font meeting the specified conditions. The foregoing retrieval takes a certainly long time though the time depends upon the quantity of the fonts. If other processes are stopped to perform the foregoing retrieval process, the processing efficiency deteriorates.
In a case of a system capable of performing a parallel process, a next command process can be performed during the retrieval process.
Then, a status response with respect to the command (3) is performed. The foregoing status required to be responded is a simple status that inquires whether or not the printer apparatus is able to receive data. Therefore, the response can immediately be performed. Since the contents of the response are used to discriminate that data can immediately be transmitted at present, it becomes useless if it is not returned immediately.
The printer apparatus immediately returns the response with respect to the command (3) to the host computer (process (3xe2x80x2)).
After a certain time has passed, the font retrieval required in the command (2) is completed. Then, the status response with respect to the command (2) is returned to the host computer (process (2xe2x80x2)).
After a certain time has passed, the page discharge is completed, and a status response with respect to the command (1) is returned (process (1xe2x80x2)).
As described above, the sequential order and timing at which the status responses are returned from the printer apparatus are not always the same as the sequential order and timing at which the host computer has issued the commands for status response. Therefore, the host computer must discriminate to what command the returned response relates.
If simple responses xe2x80x9cOKxe2x80x9d and xe2x80x9c34xe2x80x9d are received, it is difficult to recognize the commands to which the foregoing responses correspond.
To overcome the foregoing problem, a conventional discrimination method has been known, in which information in the form of a character string or the like indicating the command to which the response corresponds is added to the status response to be returned.
For example, the status response with respect to a command (3) inquiring whether or not the printer apparatus is able to receive data is formed into a form xe2x80x9cSTATUS ONLINE=OKxe2x80x9d.
As a result, discrimination can be performed that the state xe2x80x9cONLINExe2x80x9d, which is whether or not the printer status is in a state where data can be received, is permitted, that is, xe2x80x9cOKxe2x80x9d.
Since added information in the form of an individual character string is assigned to each content of the response, the host computer is able to detect the command, to which the returned response corresponds, by simultaneously discriminating the foregoing character string.
Also in a case where any of the status responses is received, added information indicating the contents enables the command, to which the response corresponds, to be detected even if the sequential order and the timing of the return are out of order.
However, unsolved problems remain.
Although the foregoing method enables the status responses for different items to be identified, a problem arises in a case where the same status response for the same item is repeatedly demanded, a problem arises in determining to what command for the status response the returned response corresponds.
Although to what item the response corresponds is described in the returned information in the form of the character string or the like, in the case where the status responses relate to the same item, a further discrimination cannot be performed because the information for identifying the item is the same.
An assumption is made here that the host computer intends to register font data into a printer apparatus. FIG. 8 shows an example of message communication between the host computer and the printer in the foregoing case. Referring to FIG. 8, the host computer instructs a storage unit in the printer to perform a preparation operation, such as securing a region for registering font data, which will be then performed, and to perform an initialization operation (process (1)).
In accordance with the foregoing command, the printer apparatus causes the storage unit to perform the preparation process. After it has been completed, the printer apparatus returns status response xe2x80x9cSTATUS FONT-DOWNLOAD=OKxe2x80x9d to the host computer so that completion of the preparation is communicated (process (2)). In accordance with the foregoing information, the host computer starts registering font data into the printer apparatus (process (3)). However, it is possible that the status response (2) does not correspond to font registration declaration in command (1), but is a response to another font registration declaration command (4) issued in another process or the like.
Even if the correct status response indicating completion of the preparation of font registration corresponding to the command (1) is the status response (5), which will be then returned, they are the status responses relating to the same item, causing information expressed by a character string or the like to be made the same. Therefore, the two status responses cannot be distinguished.
Although the preparation has not been completed, registration of fonts into different storage regions fails. Also a previous registration intended in another process fails.
In recent years, a system has been used widely in which one printer apparatus is simultaneously used by a plurality of host computers, processes and users.
In an environment of the foregoing type, disorder of the foregoing type takes place frequently.
Even if the two timings are the same, disorder of the sequential order of the returns of the status responses and the timing of the commands for status response prevents smooth information exchange between the host computer and the printer apparatus using complicated status responses. In this case, constitution of an advanced printer system, in which the control of a host computer and that of a printer are integrated, encounters a problem.
The operation of an output of a document will now be described specifically.
In a case where one document is printed, output data transmitted from a host computer or the like to the printer apparatus is usually formed as shown in FIG. 25. A set of output data is called a xe2x80x9cjobxe2x80x9d.
Initially, start of data output job is declared (process (1)), with which supply of output data to the printer apparatus is notified.
Then, the environment of the printer is initialized (process (2)). There is a possibility that the environment of the printer has been changed variously due to data supplied previously. If new data is processed in the foregoing state, the process is sometimes undesirably affected by the changed environment, and a desired printing operation cannot sometimes be performed. Therefore, the environment of the printer is initialized prior to starting the output process so that the influence of the previous process is eliminated.
Then, the environment of the printer for use in the output operation which will now be started is set (process (3)). For example, the size of paper to be printed out is set, and the font for use in the printing operation is downloaded from the host computer to be registered. The foregoing previous preparation enables an ensuing printing process to be performed correctly.
A sequence of the processes (1) to (3) are collectively called a previous process of the job.
Then, a printing out process is performed (process (4)). Data output is usually performed in such a manner that data for forming images of characters, graphics or images is described, after data for one page has been described, a discharge command is issued. By repeating the foregoing process for the pages to be output, a document consisting of a plurality of pages can be printed.
After instruction to print all pages has been completed, a post process is performed such that the environment of the used printer is restored (process (5)) in such a manner that the changed environment of the printer is restored, and the used font, which has been registered, is deleted. Thus, the environment is arranged for another output, data of which will be supplied later.
Finally, job completion of the output data is declared (process (6)). As a result, the printer apparatus recognizes completion of one data process.
A sequence of the processes (5) and (6) are collectively called a post process for the job.
The foregoing process is a general example, and there sometimes are cases where the respective processes cannot clearly be divided because of somewhat complexity. For example, the initialization in process (2) is undesirably and automatically performed simultaneously with the start declaration in process (1), or the post process in process (5) is omitted. However, it can be considered that the process is schematically constituted as described above.
A sequence of processes (1) to (6) is generally called a xe2x80x9cjobxe2x80x9d (or a xe2x80x9cprinting jobxe2x80x9d). When one document is output from the host computer, the printer apparatus usually processes data in the job units. By receiving the job start declaration (1) and other previous processes, the environment for performing the printing job is arranged, and then the printer apparatus starts the job process. By receiving the job completion declaration (6) and the post processes, the subject job is completed, followed by receiving a next job.
In a case where a plurality of jobs are output from the host computer, a plurality of jobs corresponding to the document output are sequentially transmitted. The printer apparatus sequentially processes and prints out the supplied plural jobs in job units.
Also in a case of a network or the like where a plurality of computers are connected and a plurality of users respectively perform document outputs, the printer apparatus sequentially processes, in job units, and prints out the plural jobs supplied from respective data sources.
As described above, the foregoing printer system, in job units, processes the outputs from a plurality of host computers, users, and documents so that disorder is prevented.
Then, status response process in each stage of the job will now be described.
In a stage (process (3)) of setting the environment of the printer shown in FIG. 7, information, such as the present environment items for the printer and set values that can be set to the items must be recognized to set the environment of the printer.
In an example case where printing is performed on large-size paper, data to be described becomes considerably different depending upon whether the maximum paper size for the printer is A3 size or B4 size. It is probable that the size is different depending upon the type and version of the printer. Also it is probable that the printer is adapted to only B4 size or smaller. Even if the printer is adaptable to the A3 size, the loaded unit, such as a paper cassette, sometimes inhibits the printing operation with A3 paper.
The type of fonts included in the printer apparatus is also important information to describe a document. In an example case where characters having a size of 72 points are intended to be printed, correct printing cannot be performed if the foregoing font is not included in the printer. Depending on the situation, required fonts must be downloaded from the host computer so as to be registered into the printer.
If the printer apparatus has a function of receiving compressed data, image data or the like, the quantity of which is large, can be transmitted while compressing data, and therefore time required to transfer data can be shortened significantly. If the foregoing convenient function is provided, the host computer takes an excessively long time to perform the process if it does not know the function.
Since, for example, the contents of the description of output data are frequently changed due to the state of the printer apparatus, the state of the printer must be investigated. In order to investigate the state, a status response is used. The status response enables all information of the printer apparatus, such as the size of paper and the type of the font, that can be used, and the empty capacity of the RAM, to be obtained. By recognizing the state and the performance of the printer, output data can be described in the most proper form, and thus the performance of the printer can be attained.
In a stage of, for example, output of each page (process (4)), the state of the printer, which is always changed as time passes, is transmitted to the host computer by means of the status response.
If paper runs out during output, a status response xe2x80x9cSTATUS PAPER-OUTxe2x80x9d, indicating running out of paper, is transmitted to the host computer. In response to the status response, the host computer displays an alarm of paper out for a user on a screen of a computer or the like. If printing could not be performed correctly due to any problem, a status response requiring again transmitting data is sent in order to again perform the printing operation. Even if the printing operation is being performed, intermediate state, for example, the page to which printing has been progressed, is notified.
By transmitting information, such as the environment and performance of the printer and state of the same, that is always changed as the time passes, the host computer is enabled to recognize the state of the printer.
While understanding the concept of the job and example use of the status response, problems experienced with the conventional printer apparatus will now be described. An example case will now be described about a status response used when a job for outputting a plurality of documents is performed (see FIG. 26).
Initially, the operation in the host computer will now be described. An assumption is made here that a host computer or the like intends to output a plurality of output jobs from the printer apparatus. In a case where a plurality of documents are output, the host computer sequentially processes the document output processes.
Initially, the first document is output. Start of the job is declared with respect to the printer, the environment of the printer is initialized, and a previous process, for example, setting of the environment of the printer, is performed to output document (process (1)).
Then, the host computer reads the contents of the document, to be output, from a document file or the like to judge a proper layout of the characters, graphics and images in accordance with the read contents, followed by converting the contents of the image to be formed into a printer language description format. Then, the converted contents are, as output data, transmitted to the printer apparatus (process (2)).
After output data for all pages has been transferred, the host computer restores the environment of the printer, and performs the post process, such as declaration of the job completion (process (3)). Thus, the output of the first document, that is, Job 1, has been completed for the host computer.
Then, the host computer starts output of a next document, that is, Job 2 (process (4)). Also the Job 2 is performed similarly to the Job 1. If the document output is continued, Job 3 and Job 4 are performed similarly.
Then, process to be performed by the printer apparatus will now be described.
When data of the previous process (1) has been received from the host computer, the environment of the printer is initialized, and the required environment is set (process (1xe2x80x2)).
At this time, information about the size of paper, that can be used, and information about the empty memory capacity in the printer are notified to the host computer by the foregoing status responses. In accordance with the foregoing information, the host computer adjusts output data to cause a most proper printing process to be performed.
Since the foregoing status response is usually immediately returned from the printer apparatus when the host computer requires, the process (1) for the host computer and the process (1xe2x80x2) for the printer apparatus are made substantially synchronous.
Then, output data in process (2) is received from the host computer. The printer apparatus analyzes the supplied output data to form images of characters, graphics or images. Then, a page break command is received, and paper, on which the image has been formed, is discharged (process (2xe2x80x2)).
At this time, the foregoing status response causes information about the page which has been discharged and that about the state of the printer, such as shortage of paper, to be transmitted to the host computer whenever one page is discharged. The host computer receives the information so as to recognize the state of the printer apparatus.
However, the output process to be performed by the printer apparatus takes a certainly long time because a long time takes to develop characters and graphics or the output speed for the printer engine is limited. Accordingly, there is sometimes a case where the host computer has completed the output data processing process (process (2)) and the process for transferring data to the printer, but the printer apparatus is performing the image forming and developing process (process (2xe2x80x2)) and the page output process.
As compared with the data processing and transfer process in the host computer that are usually completed in several seconds, the image forming and output process in the printer apparatus takes tens of seconds in a shortest case, and sometimes takes several minutes in a slowest case.
Recently to overcome the difference in the processing speed, a large-capacity receiving buffer is provided for the printer apparatus to forcibly store data transmitted from the host computer in order to make the host computer quickly free from the printing process. Therefore, the process to be performed by the host computer is completed further quickly, thus causing the difference in the processing speed from that of the printer apparatus to be made considerable.
As described above, in the image forming and output process, the process (2) for the host computer and the process (2xe2x80x2) for the printer apparatus usually are not performed at the same timing. In the foregoing stage, the process in the printer apparatus tends to be delayed.
The delay taken place in the printer apparatus causes the command of the post process (process (3)) commanded by the host computer not to be processed immediately, but the command is temporarily stored in the receiving buffer. After the image forming and output process (process (2xe2x80x2) for the printer apparatus has been completed, the post process is performed (process (3xe2x80x2)).
Also output data of a next job (process (4) in the host computer is usually and temporarily stored in the receiving buffer, but is not immediately processed by the printer apparatus. The foregoing process is performed after the previous job has been completed.
Therefore, a state is frequently realized where although the host computer is performing a next job, the printer apparatus is outputting the previous job. The delay of the process timing between the host computer and the printer apparatus raises a critical problem in the status response.
An assumption is made here that when the host computer is performing the output data processing and transferring process in Job 2, the printer apparatus is in the image forming and output process in Job 1.
The printer apparatus transmits, to the host computer, information, such as xe2x80x9cdischarge of the third page has been completedxe2x80x9d as status response whenever one page is discharged. This means xe2x80x9cdischarge of the third pagexe2x80x9d in the xe2x80x9cJob 3xe2x80x9d. In the conventional status response, only information xe2x80x9cthe present pagexe2x80x9d has been returned. Therefore, there is a possibility that the host computer erroneously recognizes such that the foregoing process is xe2x80x9cthe third pagexe2x80x9d in the xe2x80x9cJob 2xe2x80x9d, which is being processed by the host computer.
When the information about the type of the registered fonts required in the Job 2 is responded by the printer apparatus for example, the host computer has already processed the Job 3. Thus, there is a risk that disorder takes place in any status response, as well the page discharge state.
Recently, an environment, in which one printer apparatus is commonly used by a plurality of host computers, processes and users, has been widely employed. In the foregoing environment, disorder of the foregoing type takes place frequently.
Even if the two timings are the same, disorder of the timing of the commands for status response and the returns of the status responses in a plurality of jobs inhibits information exchange between the host computer and the printer apparatus using complicated status responses. In this case, constitution of an advanced printer system, in which the control of a host computer and that of a printer are integrated, encounters a problem.
As described above, the conventional printer apparatus has no means for identifying the job in which a status response is made when the status response is transmitted to the host computer. Therefore, disorder takes place in the host computer, and thus the host computer cannot easily recognize the state of the printer.
In a contrary case where a plurality of jobs are sequentially processed as described above, a problem rises in the job process if each job data is not prepared in a correct job format. Thus, critical disorder takes place in the overall printing process.
A case will now be considered in which a job for outputting a plurality of documents is processed as follows (see FIG. 42).
An assumption is made here that document data of three jobs, Job 1, Job 2 and Job 3, has been transmitted from the host computer or the like. The printer apparatus sequentially receives the job data to one by one analyze their contents to perform corresponding document output processes (process (1)).
The foregoing job data is arranged to be described in the foregoing job format. The printer apparatus analyzes the job data in accordance with the foregoing description rule.
If data has been interrupted during the Job 1 for example (process (2)).
Although the printer apparatus continues its process to the point of the interruption, the printer apparatus cannot determine the ensuing process.
The foregoing interruption of job data takes place due to various reasons.
For example, the following cases can be considered: the performance of the interface, which is performing data transfer, causes the supply of ensuing data to take a long time; the printer apparatus is busy in performing operations and therefore data receipt is temporarily stopped; and the processing speed in the host computer is too slow to process data in time.
The foregoing problems are basically overcome due to a time lapse. When each problem is overcome, ensuing job data is again transmitted.
Other cases can be considered that a communication line is disconnected, and therefore job data cannot be transmitted; a problem arises in the host computer, and thus processing of job data is stopped; and the host computer disregards the job data format and ends the job process without formal job completion declaration.
The foregoing factors are not usual cases but are caused from special reasons, such as accidents. Therefore, the foregoing problems cannot be overcome even if the time passes, and the job process cannot be again performed.
If interruption of job data takes place, the printer apparatus waits for supply of job data from the host computer (process (3)).
If data supply delays occurring due to the low performance of the interface, the delay can usually be overcome in several seconds.
If ensuing job data is transmitted after a certain time, it is analyzed and processed. Thus, a document can be output without problem.
However, in the case where processing of job data has been stopped in the host computer, no ensuing job data is supplied thought it is waited for.
However, the printer apparatus continuously waits for the supply of job data because it cannot discriminate the reason why the job data has been interrupted.
Since the printing process in Job 1 is being performed in the waiting period, next Job 2 and Job 3 cannot be performed (process (4)).
That is, all job processes are stopped in the foregoing state, and a waiting state is realized.
Thus, smooth operation is prevented, and the efficiency deteriorates.
According, a means called xe2x80x9cjob time outxe2x80x9d has been employed.
In the job time out process, time taken from the moment the job data has been interrupted is measured.
Even if following job data is not supplied after a predetermined time has passed, a discrimination is performed that the job cannot be continued due to a problem, followed by forcibly stopping the job (process (5)).
By performing the job time out process, the interrupted Job 1 is ended here, followed by starting the Job 2 and Job 3 (process (6)).
That is, the Job 1, that is considered impossible to be again performed, is abandoned, and its process is stopped so as to make effective the ensuing Job 1 and Job 2.
Thus, in a printer apparatus in which a plurality of job data items are processed, even if a partial problem takes place in a job, all of following jobs are not stopped, but the partial job encountered the problem is omitted, and other jobs can be performed.
Note that the lapse time for use in the discrimination in the job time out process must be proper length.
If the time is too short, the job is ended even in a case where the delay takes place due to the performance of the interface, and even job data, that can be correctly output, can be canceled.
If the time is too long, a long time takes to wait for the supply, causing the printing efficiency to deteriorate.
The length of the discrimination period must be determined considerably precisely because it depends upon the performances of the printer apparatus, host computer, and the interface.
To properly set the time, considerably sufficient experience and knowledge are required and it is usually determined to a relatively proper value.
Since interruption of job data takes place under a variety of conditions, it is impossible to determine the perfectly proper discrimination time.
Therefore, even if any proper discrimination time is employed, there remains a risk that a temporal interruption of job data due to a long time lapse accidentally took place is erroneously discriminated to be interruption of job data that cannot be overcome.
A case will now be described in which a job, that can be continued, is ended by the printer apparatus.
If a job is forcibly stopped due to job time out, the page, which has been left in the printer, and on which an image is being formed thereon, is discharged in the foregoing state or the image forming process is canceled.
Also data, such as fonts, downloaded and registered from the host computer for use in the printing operation, is generally deleted.
Furthermore, the set environment, such as the size of the paper and the number of lines per page are restored to the default state.
As a result of the foregoing forcible stop of the job, the environment and the like used in the job are completely reset in order to perform a next job.
An assumption is made here that following job data is supplied at a moment the job time out process is substantially ended.
Since the host computer does not know that the printer apparatus has been reset due to the forcible job completion process, the host computer prepares following job data, and transfers the same as the continuation of the job data, which has been transferred.
However, the subject job process has been ended in the printer apparatus, and the registered fonts required to perform the job, the environment of the printer and intermediately formed image data are cleared.
However, the job data processed by the host computer is described on an assumption that the foregoing factors are left in the printer apparatus.
For example, the registered font pattern is intended to be used, a command for ordering the paper size is omitted upon a consideration that it has been ordered yet, and following images are formed upon a consideration that the pages, on which images have been formed yet, are left.
However, the foregoing factors have been cleared in the printer apparatus, thus causing the document output to be made disordered. Depending upon the situation, following setting of the printer is changed to an incorrect state, thus raising a risk that following jobs encounters a problem that correct images cannot be formed, as well the job, which is being processed.
As described above, in the conventional job time out process, even if the job is forcibly stopped due to job time out, information cannot be communicated between the host computer and the printer apparatus. As a result, there arises a problem in that a most proper job time out process cannot be performed.
In the viewpoint above, an object of the present invention is to provide a printer apparatus and a method of controlling the same, in which the host computer is able to accurately and reliably recognize the state of the printer apparatus.
In order to achieve the foregoing object, according one aspect of the present invention, there is provided a printer apparatus for performing a printing process in accordance with process demands from a data source, comprising: receiving means for receiving process demands; assigning means for assigning a peculiar identifier to each process demand received by the receiving means; identifier returning means for returning, to a data source, the identifiers assigned by the assigning means; and information returning means for returning, to the data source, information, which is a response indicating completion of the process, the demand of which has been received by the receiving means, the information being returned together with the identifier assigned to the process demand.
According to another aspect of the present invention, there is provided a printer system in which a data source and a printer are connected to each other, comprising: a data source including identifier generating means for generating an identifier peculiar to each process demand, and transmitting means for transmitting the process demand together with the identifier; and a printer apparatus including receiving means for receiving the process demand from the data source together with the peculiar to the process demand, identifier returning means for returning, to the data source, a response to the process demand, received from the receiving means, together with the identifier peculiar to the process demand, and information returning means for returning information indicating completion of the process demanded with the process demand together with the identifier peculiar to the process demand.
According to another aspect of the present invention, there is provided a printer system in which a data source and a printer are connected to each other, comprising: a data source including first time measuring means for measuring time, time storing means for storing time at which a process demand has been generated, and transmitting means for transmitting the process demand; and a printer apparatus including receiving means for receiving the process demand from the data source, second time measuring means for measuring time, and returning means for returning, to the data source, information indicating completion of the process, the demand of which has been received by the receiving means, together with time, at which the process demand has been received by the receiving means.
According to another aspect of the present invention, there is provided a method of controlling a printer apparatus for performing a printing process in accordance with a process demand from a data source, comprising the steps of: receiving process demands; assigning an identifier peculiar to each of process demands received in the receiving step; returning to the data source, identifiers assigned in the assigning step; and returning, to the data source, information indicating completion of the process, the demand of which has been received in the receiving step, together with the identifier assigned to the process demand.
According to another aspect of the present invention, there is provided a method of controlling a printer system, in which a data source and a printer are connected to each other, comprising the steps of: generating an identifier peculiar to each of process demands; transmitting the process demand together with the identifier; receiving the process demand transmitted in the transmitting step together with the peculiar identifier; returning the identifier in such a manner that a response indicating completion of a process, the process demand of which has been received in the receiving step, is returned to the data source together with the identifier peculiar to the process; and returning information of a response to the process demand together with the identifier peculiar to the process demand.
According to another aspect of the present invention, there is provided a method of controlling a printer system, in which a data source and a printer are connected to each other, comprising the steps of: storing time, at which a process demand has been generated, by reading the time from a first timer; transmitting the process demand; receiving the process demand transmitted in the transmitting step; and returning, to the data source, response information indicating completion of the process demand received in the receiving step in such a manner that time, at which the process demand has been received in the receiving step, is read, and the read time is also returned when the response information is returned.
In order to achieve the foregoing object, according to one aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that automatically assigns administration ID information to each job, adds the administration ID to the job to perform administration, and immediately transmits the administration ID information assigned to one received job to the host computer; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out, control in accordance with the command to form and output an image and the apparatus control command; means for investigating a state of the printer apparatus and a state of a document output in accordance with the command for the status response issued to the host computer; means for generating status response data in which the administration ID information assigned to the job, which is being performed, is added to information of a result of the investigation; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that receives administration ID information for one job from the host computer and that adds the administration ID information to the job in the job units to perform administration; means that analyzes a printer-language command of the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image and the apparatus control command; means for investigating a state of the printer apparatus and a state of a document output in accordance with the command for the status response issued to the host computer; means for generating status response data in which the administration ID information assigned to the job, which is being performed, is added to information of a result of the investigation; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that adds an administration ID to each job to administrate the jobs; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image and the apparatus control command; means for investigating the state of the printer apparatus and the state of a document output in accordance with the command for the status response issued to the host computer; means for generating status response data in which the administration ID information assigned to the job, which is being performed, is added to the investigated status; means for discriminating whether or not the investigated status must be transmitted to all jobs in place of transmitting the same to each job; means for adding information indicating importance to the status response that must be transmitted to all jobs; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that adds an administration ID to each job to administrate the jobs; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image and the apparatus control command; means for investigating the state of the printer apparatus and the state of a document output in accordance with the command for the status response issued to the host computer; means for generating status response data in which the administration ID information assigned to the job, which is being performed, is added to the investigated status; means for discriminating whether or not the investigated status is not information that must be transmitted to all jobs, but is information peculiar to each job; means for adding information indicating peculiar status to a status response that may be transmitted to each job; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that adds an administration ID to each job to administrate the jobs; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image or the apparatus control command; means for investigating the state of the printer apparatus and the state of a document output in accordance with the command for the status response issued to the host computer; means for generating status response data in which the administration ID information assigned to the job, which is being performed, is added to the investigated status; means for discriminating whether or not the investigated status must be transmitted to all jobs in place of transmitting the same to each job, or discriminating whether or not the investigated status is not information that must be transmitted to all job, but is information peculiar to each job; means for adding information indicating importance to the status response that must be transmitted to all jobs, or for adding information indicating peculiar status to the status response that may be transmitted to each job; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image and the apparatus control command; means for investigating the state of the printer apparatus and the state of a document output in accordance with the command for the status response issued to the host computer so as to issue status response data; means that supervises a state where each job data is received to measure time taken from interruption of the job data; means for forcibly stopping the job as job time out if the job data interrupts for a predetermined time; means having a structure that if job time out takes place, then a status response indicating generation of the job time out is issued; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image and the apparatus control command; means for investigating the state of the printer apparatus and the state of a document output in accordance with the command for the status response issued to the host computer so as to issue status response data; means that supervises a state where each job data is received to measure time taken from interruption of the job data; means that discriminates that job time out takes place if job data interrupts for a predetermined time, and that tissues a status response for inquiring whether or not the job may be forcibly stopped; means that forcibly stops the job if a response permits the job time out process to be performed, and that continues the job if the response inhibits the job time out to be performed; and means for transmitting the status response to the host computer through a bidirectional interface.
According to another aspect of the present invention, there is provided a printer apparatus that analyzes output data received from a host computer to perform an output process, comprising: means that receives output data from the host computer to administrate one set of the output data as a unit of one job; means that analyzes a printer-language command described in the job to instruct an image forming and output process, a printer apparatus control process and a process of responding status to the host computer; means for performing printing out and control in accordance with the command to form and output an image and the apparatus control command; means for investigating the state of the printer apparatus and the state of a document output in accordance with the command for the status response issued to the host computer so as to issue status response data; means that supervises a state where each job data is received to measure time taken from interruption of the job data; means that discriminates that job time out takes place if job data interrupts for a predetermined time, and that issues a status response for alarming that the job will be forcibly stopped; means that continues the job if the host computer immediately transmits following job data, and that forcibly stops the job if the host computer does not transmit following job data; and means for transmitting the status response to the host computer through a bidirectional interface.